It is previously known to determine a long term predictor, also called "pitch predictor" or adaptive code book in a so called closed loop analysis in a speech coder (W. Kleijn, D. Krasinski, R. Ketchum "Improved speech quality and efficient vector quantization in SELP", IEEE ICASSP-88, New York, 1988). This can for instance be done in a coder of CELP type (CELP=Code Excited Linear Predictive coder). In this type of analysis the actual speech signal vector is compared to an estimated vector formed by excitation of a synthesis filter with an excitation vector containing samples from previously determined excitation vectors. It is also previously known to determine the long term predictor in a so called open loop analysis (R. Ramachandran, P. Kabal "Pitch prediction filters in speech coding", IEEE Trans. ASSP Vol. 37, No. 4, April 1989), in which the speech signal vector that is to be coded is compared to delayed speech signal vectors for estimating periodic features of the speech signal.
The principle of a CELP speech coder is based on excitation of an LPC synthesis filter (LPC=Linear Predictive Coding) with a combination of a long term predictor vector from some type of fixed code book. The output signal from the synthesis filter shall match as closely as possible the speech signal vector that is to be coded. The parameters of the synthesis filter are updated for each new speech signal vector, that is the procedure is frame based. This frame based updating, however, is not always sufficient for the long term predictor vector. To be able to track the changes in the speech signal, especially at high pitches, the long term predictor vector must be updated faster than at the frame level. Therefore this vector is often updated at subframe level, the subframe being for instance 1/4 frame.
The closed loop analysis has proven to give very good performance for short subframes, but performance soon deteriorates at longer subframes.
The open loop analysis has worse performance than the closed loop analysis at short subframes, but better performance than the closed loop analysis at long subframes. Performance at long subframes is comparable to but not as good as the closed loop analysis at short subframes.
The reason that as long subframes as possible are desirable, despite the fact that short subframes would track changes best, is that short subframes implies a more frequent updating, which in addition to the increased complexity implies a higher bit rate during transmission of the coded speech signal.
Thus, the present invention is concerned with the problem of obtaining better performance for longer subframes. This problem comprises a choice of coder structure and analysis method for obtaining performance comparable to closed loop analysis for short subframes.
One method to increase performance would be to perform a complete search over all the combinations of long term predictor vectors and vectors from the fixed code book. This would give the combination that best matches the speech signal vector for each given subframe. However, the complexity that would arise would be impossible to implement with the digital signal processors that exist today.